package com.weijian.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 初始化上传请求DTO
 */
@Data
@Schema(description = "初始化上传请求")
public class InitUploadRequest {
    
    /**
     * 任务ID（客户端生成）
     */
    @Schema(description = "任务ID（客户端生成）", example = "task-123456", requiredMode = Schema.RequiredMode.REQUIRED)
    private String taskId;
    
    /**
     * 文件名
     */
    @Schema(description = "文件名", example = "video.mp4", requiredMode = Schema.RequiredMode.REQUIRED)
    private String fileName;
    
    /**
     * 文件总大小（字节）
     */
    @Schema(description = "文件总大小（字节）", example = "10485760", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long fileSize;
    
    /**
     * 文件MD5值
     */
    @Schema(description = "文件MD5值", example = "a1b2c3d4e5f6...", requiredMode = Schema.RequiredMode.REQUIRED)
    private String fileMd5;
    
    /**
     * 分片大小（字节）
     */
    @Schema(description = "分片大小（字节）", example = "5242880", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long chunkSize;
    
    /**
     * 总分片数
     */
    @Schema(description = "总分片数", example = "10", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer totalChunks;
}